﻿namespace Algo
{
    using System.Collections.Generic;
    using System.Diagnostics.Contracts;

    using Algo.CodeContracts;

    using JetBrains.Annotations;

    [ContractClass(typeof(DichotomySearchStrategyCodeContracts))]
    public interface IDichotomySearchStrategy
    {
        bool Find<T>([NotNull] IList<T> list, T item, [NotNull] IComparer<T> comparer, [NotNull] IAlgoExtensions extensions, out int? prev, out int? next);
    }
}
